home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / c / tcclib.exe / EXPLBOX.C < prev    next >
Encoding:
Text File  |  1989-07-18  |  938 b   |  54 lines

  1. void BlockErase( int x, int y, int xx, int yy );
  2. void XDrawBox( int x, int y, int xx, int yy );
  3.  
  4. void ExplodeBox( int x, int y, int xx, int yy )
  5. {
  6.     register int i;
  7.     int midx1, midy1, midx2, midy2;
  8.     int num = 0;
  9.     int flag;
  10.     int Inc = 7000;
  11.  
  12.     midx1 = (xx + x) / 2 - 1;
  13.     midy1 = (yy + y) / 2 - 1;
  14.     midx2 = midx1 + 1;
  15.     midy2 = midy1 + 1;
  16.  
  17.     XDrawBox( midx1, midy1, midx2, midy2 );
  18.     flag = 0;
  19.     while ( num < 4 ) {
  20.         num=0;
  21.         if (flag == 1)
  22.             flag = 0;
  23.         else
  24.             flag = 1;
  25.  
  26.         if ( midx1 > x )
  27.             midx1--;
  28.         else
  29.             num++;
  30.  
  31.         if ( midx2 < xx )
  32.             midx2++;
  33.         else
  34.             num++;
  35.  
  36.         if ( midy1 > y && flag > 0 )
  37.             midy1--;
  38.         else
  39.             num++;
  40.  
  41.         if ( midy2 < yy && flag > 0 )
  42.             midy2++;
  43.         else
  44.             num++;
  45.  
  46.         for (i=0; i<Inc; ++i) ;
  47.         Inc -= 700;
  48.         BlockErase( midx1+1, midy1+1, midx2-1, midy2-1 );
  49.         XDrawBox( midx1, midy1, midx2, midy2 );
  50.     }
  51.     BlockErase( x, y, xx, yy );
  52.     XDrawBox( x, y, xx, yy );
  53. }
  54.